import Vue from 'vue'
import Vuex from 'vuex'
import VuexPersistence from 'vuex-persist';
// 要使用vuex配套的持久化插件 先安装
// cnpm i vuex-persist --save

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    cartList:[],
  },
  mutations: {
    // 点击加入购物车
    add(state,item){
      // 找到重复的商品
      var flag = false;
      state.cartList.forEach(element => {
          if(element.id === item.id){
              element.count++;
              flag = true;
          }
      });
      if(flag == false){
          item.count = 1;
          // item.checked = true;
          state.cartList.push(item);
      }
    },
    // 步进器++
    max(state,item){    
      state.cartList.forEach(element => {
          if(element.id == item.id){
              element.count++;
          }
      });
    },
    // 步进器--
    min(state,item){    // 点击加号按钮
      state.cartList.forEach(element => {
          if(element.id == item.id){
              element.count--;
          }
      });
    },
  },
  getters:{
    // 总数
    Count(state){
      var count = 0;
      state.cartList.forEach((item) => {
        count += item.count;
      });
      return count;
    },
    // 总价
    Price(state){
      var price = 0;
      state.cartList.forEach((item) => {
        price += item.count * item.minPrice * 100;
      });
      return price;
    },
  },
  actions: {
  },
  modules: {
  },
  plugins:[
    new VuexPersistence({
      storage: window.localStorage,
    }).plugin,
  ],
  // plugin 是插件的意思 在这里使用安装的持久化插件 把vuex中的数据存在本地存储中
})
